package com.hospital.xiaochengxiu.yang.service.impl;

import com.hospital.xiaochengxiu.yang.dao.ConsumeinfoDao;
import com.hospital.xiaochengxiu.yang.entity.Consumeinfo;
import com.hospital.xiaochengxiu.yang.entity.Queue;
import com.hospital.xiaochengxiu.yang.entity.UserQueue;
import com.hospital.xiaochengxiu.yang.service.ConsumeinfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * 挂号业务类
 */
@Service
public class ConsumeinfoServiceImpl implements ConsumeinfoService {
    @Autowired
    private ConsumeinfoDao consumeinfoDao;

    /**
     *  挂号业务
     * @param userQueue 挂号
     * @return
     */
    @Transactional
    @Override
    public boolean consumeUser(UserQueue userQueue) {
        if (consumeinfoDao.selMoney(userQueue.getCardId())>userQueue.getMoney()) {
            Consumeinfo consumeinfo=new Consumeinfo(userQueue.getCardId(),"挂号","挂号的费用",userQueue.getTime(),userQueue.getMoney());
            consumeinfoDao.insetConsumeinfo(consumeinfo);
            consumeinfoDao.updUserMoney(userQueue.getCardId(), userQueue.getMoney());
            Queue queue=new Queue(userQueue.getCardId(),userQueue.getUserName(),userQueue.getDoctorId(),userQueue.getTime(),0);
            consumeinfoDao.insetQueue(queue);
            return true;
        }
        return false;
    }

    /**
     * 根据卡号查询挂号记录
     * @param patientId
     * @return
     */
    @Override
    public List<Queue> selQueue(Integer patientId) {
        List<Queue> queues = consumeinfoDao.selQueue(patientId);
        queues.forEach(res->{
            System.out.println(res.getPatientName());
        });
        return queues;
    }
}
